{
 "cells": [
  {
   "cell_type": "markdown",
   "source": [],
   "metadata": {
    "collapsed": false
   }
  },
  {
   "cell_type": "markdown",
   "source": [
    "<font color=gray size=4> 2023-2024-01 </font>\n",
    "\n",
    "<font color=gray size=4> Python Web crawler</font>\n",
    "\n",
    "<font color=gray size=4> 记录：陈蔚 </font>\n",
    "\n",
    "<font color=gray size=4> week02:文本图片一键式数据获取 </font>"
   ],
   "metadata": {
    "collapsed": false
   }
  },
  {
   "cell_type": "markdown",
   "source": [
    "# 本周内容\n",
    "> 1.[Requests-HTML]实践页面文本数据\n",
    "2.[Requests-HTML]实践图片数据\n",
    "# Requests-HTML尝试项目\n",
    "## 获取页面链接"
   ],
   "metadata": {
    "collapsed": false
   }
  },
  {
   "cell_type": "markdown",
   "source": [
    "## 项目一"
   ],
   "metadata": {
    "collapsed": false
   }
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "from requests_html import HTMLSession\n",
    "import pandas as pd"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "outputs": [],
   "source": [
    "session = HTMLSession()"
   ],
   "metadata": {
    "collapsed": false
   }
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "outputs": [],
   "source": [
    "r = session.get('https://www.nfu.edu.cn/xxyw/index.htm')"
   ],
   "metadata": {
    "collapsed": false
   }
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "outputs": [
    {
     "data": {
      "text/plain": "{'../dshyx/index.htm',\n '../gjdt/index.htm',\n '../hzjl/index.htm',\n '../index.htm',\n '../jgsz/cswyh/index.htm',\n '../jgsz/gljg/index.htm',\n '../jgsz/index.htm',\n '../jgsz/yxsz/index.htm',\n '../jxky/index.htm',\n '../jxky/kyjg/index.htm',\n '../qzzggcdjd100zn/index.htm',\n '../rcpy/bkjy/index.htm',\n '../rcpy/index.htm',\n '../rcpy/jxjy/index.htm',\n '../rcpy/msjs/index.htm',\n '../rczp/glxl/index.htm',\n '../rczp/index.htm',\n '../rczp/jsxl/index.htm',\n '../tsg/index.htm',\n '../tzgg/index.htm',\n '../xcyx/index.htm',\n '../xxgk/index.htm',\n '../xxgk/nfdsj/index.htm',\n '../xxgk/xhxxxg/index.htm',\n '../xxgk/xrld/index.htm',\n '../xxgk/xxjj/index.htm',\n '../xxgk/xxxl/index.htm',\n '../xydt/index.htm',\n '../zggcddsxxjy/index.htm',\n '../zjnf/index.htm',\n '../zjnf/jtzy/index.htm',\n '../zjnf/shfw/index.htm',\n '../zjnf/tsnf/index.htm',\n '../zjnf/xb/index.htm',\n '../zjnf/ylfw/index.htm',\n '../zsjy/index.htm',\n '../zsjy/jyfw/index.htm',\n '../ztb/index.htm',\n '023ce37514814a628c45433a3924628b.htm',\n '0803663924a442588ee67bce4b9249be.htm',\n '2ca11309128e42a58ed4f1c42be754d3.htm',\n '3bc00a4927fc4398a5bd552a7fb2ae0e.htm',\n '4f75495fe0e94d378fbabb94fabba1bd.htm',\n '53dd98b1eb6c4d7f8def44592e519c45.htm',\n '64d88d805cb24e29818796b5ed03bd84.htm',\n '7148917faf2f437abeaf225e966dd502.htm',\n '92c408c6529d4d26a723d841d6485a1e.htm',\n '96267573495b4f66a490f2ba9ec3ea0c.htm',\n '9d85c517440d4128a0e1a7bc1a4a9f1b.htm',\n 'a0b30b72b462428cb239e90fe175a9ce.htm',\n 'c6c2ea21061e41eda1f5f27a8baf6cc2.htm',\n 'd2163668db974ea596874c63d1bb7776.htm',\n 'd6f0a1cedeac423fb6eda482d72c56ce.htm',\n 'de6768f996eb44f4ad0c9bb169903e98.htm',\n 'df632618d31b40798bf71b8ea2d103ca.htm',\n 'e37b88d9a4fd49b89a59af13f09246db.htm',\n 'f2bf2742d7de4ce09be7082fef186869.htm',\n 'fb7ac3185a354c3db858d063d2d46239.htm',\n 'http://cpc.nfu.edu.cn/',\n 'http://das.nfu.edu.cn/',\n 'http://edu.gd.gov.cn/',\n 'http://en.nfu.edu.cn/',\n 'http://gj.nfu.edu.cn/',\n 'http://gj.nfu.edu.cn/Home/Waishi/waishilist/class/1/p/1.html',\n 'http://jw.nfu.edu.cn/',\n 'http://jx.nfu.edu.cn/',\n 'http://ky.nfu.edu.cn/',\n 'http://lib.nfu.edu.cn/',\n 'http://www.beian.gov.cn/portal/registerSystemInfo?recordcode=44011702000081',\n 'http://www.gdmbjy.cn/',\n 'http://www.gdpr.com/',\n 'http://www.gz.gov.cn/',\n 'http://www.moe.gov.cn/',\n 'http://www.sysu.edu.cn/2012/cn/index.htm',\n 'http://zsb.nfu.edu.cn/',\n 'https://beian.miit.gov.cn/',\n 'https://www.cnki.net/',\n 'https://www.gpowersoft.com/',\n 'index.htm',\n 'index1.htm',\n 'index121.htm',\n 'index2.htm',\n 'index3.htm',\n 'index4.htm'}"
     },
     "execution_count": 22,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "r.html.links"
   ],
   "metadata": {
    "collapsed": false
   }
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "outputs": [
    {
     "data": {
      "text/plain": "{'http://cpc.nfu.edu.cn/',\n 'http://das.nfu.edu.cn/',\n 'http://edu.gd.gov.cn/',\n 'http://en.nfu.edu.cn/',\n 'http://gj.nfu.edu.cn/',\n 'http://gj.nfu.edu.cn/Home/Waishi/waishilist/class/1/p/1.html',\n 'http://jw.nfu.edu.cn/',\n 'http://jx.nfu.edu.cn/',\n 'http://ky.nfu.edu.cn/',\n 'http://lib.nfu.edu.cn/',\n 'http://www.beian.gov.cn/portal/registerSystemInfo?recordcode=44011702000081',\n 'http://www.gdmbjy.cn/',\n 'http://www.gdpr.com/',\n 'http://www.gz.gov.cn/',\n 'http://www.moe.gov.cn/',\n 'http://www.sysu.edu.cn/2012/cn/index.htm',\n 'http://zsb.nfu.edu.cn/',\n 'https://beian.miit.gov.cn/',\n 'https://www.cnki.net/',\n 'https://www.gpowersoft.com/',\n 'https://www.nfu.edu.cn/dshyx/index.htm',\n 'https://www.nfu.edu.cn/gjdt/index.htm',\n 'https://www.nfu.edu.cn/hzjl/index.htm',\n 'https://www.nfu.edu.cn/index.htm',\n 'https://www.nfu.edu.cn/jgsz/cswyh/index.htm',\n 'https://www.nfu.edu.cn/jgsz/gljg/index.htm',\n 'https://www.nfu.edu.cn/jgsz/index.htm',\n 'https://www.nfu.edu.cn/jgsz/yxsz/index.htm',\n 'https://www.nfu.edu.cn/jxky/index.htm',\n 'https://www.nfu.edu.cn/jxky/kyjg/index.htm',\n 'https://www.nfu.edu.cn/qzzggcdjd100zn/index.htm',\n 'https://www.nfu.edu.cn/rcpy/bkjy/index.htm',\n 'https://www.nfu.edu.cn/rcpy/index.htm',\n 'https://www.nfu.edu.cn/rcpy/jxjy/index.htm',\n 'https://www.nfu.edu.cn/rcpy/msjs/index.htm',\n 'https://www.nfu.edu.cn/rczp/glxl/index.htm',\n 'https://www.nfu.edu.cn/rczp/index.htm',\n 'https://www.nfu.edu.cn/rczp/jsxl/index.htm',\n 'https://www.nfu.edu.cn/tsg/index.htm',\n 'https://www.nfu.edu.cn/tzgg/index.htm',\n 'https://www.nfu.edu.cn/xcyx/index.htm',\n 'https://www.nfu.edu.cn/xxgk/index.htm',\n 'https://www.nfu.edu.cn/xxgk/nfdsj/index.htm',\n 'https://www.nfu.edu.cn/xxgk/xhxxxg/index.htm',\n 'https://www.nfu.edu.cn/xxgk/xrld/index.htm',\n 'https://www.nfu.edu.cn/xxgk/xxjj/index.htm',\n 'https://www.nfu.edu.cn/xxgk/xxxl/index.htm',\n 'https://www.nfu.edu.cn/xxyw/023ce37514814a628c45433a3924628b.htm',\n 'https://www.nfu.edu.cn/xxyw/0803663924a442588ee67bce4b9249be.htm',\n 'https://www.nfu.edu.cn/xxyw/2ca11309128e42a58ed4f1c42be754d3.htm',\n 'https://www.nfu.edu.cn/xxyw/3bc00a4927fc4398a5bd552a7fb2ae0e.htm',\n 'https://www.nfu.edu.cn/xxyw/4f75495fe0e94d378fbabb94fabba1bd.htm',\n 'https://www.nfu.edu.cn/xxyw/53dd98b1eb6c4d7f8def44592e519c45.htm',\n 'https://www.nfu.edu.cn/xxyw/64d88d805cb24e29818796b5ed03bd84.htm',\n 'https://www.nfu.edu.cn/xxyw/7148917faf2f437abeaf225e966dd502.htm',\n 'https://www.nfu.edu.cn/xxyw/92c408c6529d4d26a723d841d6485a1e.htm',\n 'https://www.nfu.edu.cn/xxyw/96267573495b4f66a490f2ba9ec3ea0c.htm',\n 'https://www.nfu.edu.cn/xxyw/9d85c517440d4128a0e1a7bc1a4a9f1b.htm',\n 'https://www.nfu.edu.cn/xxyw/a0b30b72b462428cb239e90fe175a9ce.htm',\n 'https://www.nfu.edu.cn/xxyw/c6c2ea21061e41eda1f5f27a8baf6cc2.htm',\n 'https://www.nfu.edu.cn/xxyw/d2163668db974ea596874c63d1bb7776.htm',\n 'https://www.nfu.edu.cn/xxyw/d6f0a1cedeac423fb6eda482d72c56ce.htm',\n 'https://www.nfu.edu.cn/xxyw/de6768f996eb44f4ad0c9bb169903e98.htm',\n 'https://www.nfu.edu.cn/xxyw/df632618d31b40798bf71b8ea2d103ca.htm',\n 'https://www.nfu.edu.cn/xxyw/e37b88d9a4fd49b89a59af13f09246db.htm',\n 'https://www.nfu.edu.cn/xxyw/f2bf2742d7de4ce09be7082fef186869.htm',\n 'https://www.nfu.edu.cn/xxyw/fb7ac3185a354c3db858d063d2d46239.htm',\n 'https://www.nfu.edu.cn/xxyw/index.htm',\n 'https://www.nfu.edu.cn/xxyw/index1.htm',\n 'https://www.nfu.edu.cn/xxyw/index121.htm',\n 'https://www.nfu.edu.cn/xxyw/index2.htm',\n 'https://www.nfu.edu.cn/xxyw/index3.htm',\n 'https://www.nfu.edu.cn/xxyw/index4.htm',\n 'https://www.nfu.edu.cn/xydt/index.htm',\n 'https://www.nfu.edu.cn/zggcddsxxjy/index.htm',\n 'https://www.nfu.edu.cn/zjnf/index.htm',\n 'https://www.nfu.edu.cn/zjnf/jtzy/index.htm',\n 'https://www.nfu.edu.cn/zjnf/shfw/index.htm',\n 'https://www.nfu.edu.cn/zjnf/tsnf/index.htm',\n 'https://www.nfu.edu.cn/zjnf/xb/index.htm',\n 'https://www.nfu.edu.cn/zjnf/ylfw/index.htm',\n 'https://www.nfu.edu.cn/zsjy/index.htm',\n 'https://www.nfu.edu.cn/zsjy/jyfw/index.htm',\n 'https://www.nfu.edu.cn/ztb/index.htm'}"
     },
     "execution_count": 23,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "r.html.absolute_links"
   ],
   "metadata": {
    "collapsed": false
   }
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "outputs": [],
   "source": [
    "contents = r.html.find('ul.list-ul')"
   ],
   "metadata": {
    "collapsed": false
   }
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2023-09-12\n",
      "厚德和合，传承创新！中医药健康学院2023级新生开学典礼暨首届...\n",
      "2023-09-11\n",
      "新学期，以一场研讨会拉开序幕！\n",
      "2023-09-06\n",
      "我校开展2023年秋季学期教学检查工作\n",
      "2023-09-10\n",
      "躬耕教坛，强国有我——我校开展庆祝2023年教师节暨师德建设主题教育月系列活...\n",
      "2023-09-10\n",
      "来自校长、书记的节日问候\n",
      "2023-09-06\n",
      "从化区副区长、区公安分局局长陈航一行莅临我校开展食品安全“两个责任”包保督导\n",
      "2023-09-06\n",
      "首批上线！我校4门课程登陆全国高校课程思政教学资源服务平台\n",
      "2023-09-02\n",
      "欢迎！南方学院首批新生已就位！\n",
      "2023-08-26\n",
      "我校教师获“省长杯”工业设计大赛二等奖\n",
      "2023-08-19\n",
      "我们是，全国总冠军！\n",
      "2023-08-18\n",
      "全国二等奖+3！\n",
      "2023-08-15\n",
      "我校获邀参加中国抗癌协会CACA指南进校园工作推动会（广东站）\n",
      "2023-08-11\n",
      "学校召开学生宿舍改造工程进度协调会并检查施工现场\n",
      "2023-08-11\n",
      "我校获800万省级民办教育发展专项资金支持\n",
      "2023-08-04\n",
      "我校斩获多项省教育教学优秀案例\n",
      "2023-07-21\n",
      "校领导带队检查指导校园安全工作并走访慰问留校师生\n",
      "2023-07-19\n",
      "暑期获奖连连！给南院师生点赞！\n",
      "2023-07-18\n",
      "我校受邀在全国“高等教育数字变革与院校研究专业化”学术研讨会上发言\n",
      "2023-07-15\n",
      "国标项目——我校召开国家标准委广东社会组织能力建设标准化试点项目启动会\n",
      "2023-07-15\n",
      "我校受邀在广东省教育厅举办的2023年全省学籍学历管理工作培训会作主题报告\n",
      "{'https://www.nfu.edu.cn/xxyw/4f75495fe0e94d378fbabb94fabba1bd.htm', 'https://www.nfu.edu.cn/xxyw/df632618d31b40798bf71b8ea2d103ca.htm', 'https://www.nfu.edu.cn/xxyw/64d88d805cb24e29818796b5ed03bd84.htm', 'https://www.nfu.edu.cn/xxyw/e37b88d9a4fd49b89a59af13f09246db.htm', 'https://www.nfu.edu.cn/xxyw/de6768f996eb44f4ad0c9bb169903e98.htm', 'https://www.nfu.edu.cn/xxyw/d6f0a1cedeac423fb6eda482d72c56ce.htm', 'https://www.nfu.edu.cn/xxyw/d2163668db974ea596874c63d1bb7776.htm', 'https://www.nfu.edu.cn/xxyw/0803663924a442588ee67bce4b9249be.htm', 'https://www.nfu.edu.cn/xxyw/96267573495b4f66a490f2ba9ec3ea0c.htm', 'https://www.nfu.edu.cn/xxyw/7148917faf2f437abeaf225e966dd502.htm', 'https://www.nfu.edu.cn/xxyw/53dd98b1eb6c4d7f8def44592e519c45.htm', 'https://www.nfu.edu.cn/xxyw/023ce37514814a628c45433a3924628b.htm', 'https://www.nfu.edu.cn/xxyw/f2bf2742d7de4ce09be7082fef186869.htm', 'https://www.nfu.edu.cn/xxyw/92c408c6529d4d26a723d841d6485a1e.htm', 'https://www.nfu.edu.cn/xxyw/3bc00a4927fc4398a5bd552a7fb2ae0e.htm', 'https://www.nfu.edu.cn/xxyw/fb7ac3185a354c3db858d063d2d46239.htm', 'https://www.nfu.edu.cn/xxyw/a0b30b72b462428cb239e90fe175a9ce.htm', 'https://www.nfu.edu.cn/xxyw/9d85c517440d4128a0e1a7bc1a4a9f1b.htm', 'https://www.nfu.edu.cn/xxyw/c6c2ea21061e41eda1f5f27a8baf6cc2.htm', 'https://www.nfu.edu.cn/xxyw/2ca11309128e42a58ed4f1c42be754d3.htm'}\n",
      "\n"
     ]
    }
   ],
   "source": [
    "for i in contents :\n",
    "    print(i.text)\n",
    "    print(i.absolute_links)\n",
    "    print()"
   ],
   "metadata": {
    "collapsed": false
   }
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "outputs": [
    {
     "ename": "AttributeError",
     "evalue": "'str' object has no attribute 'to_excel'",
     "output_type": "error",
     "traceback": [
      "\u001B[1;31m---------------------------------------------------------------------------\u001B[0m",
      "\u001B[1;31mAttributeError\u001B[0m                            Traceback (most recent call last)",
      "\u001B[1;32m~\\AppData\\Local\\Temp\\ipykernel_1252\\749286433.py\u001B[0m in \u001B[0;36m<module>\u001B[1;34m\u001B[0m\n\u001B[0;32m      1\u001B[0m \u001B[1;32mwith\u001B[0m \u001B[0mpd\u001B[0m\u001B[1;33m.\u001B[0m\u001B[0mExcelWriter\u001B[0m\u001B[1;33m(\u001B[0m\u001B[1;34m'中大南方要闻整理.xlsx'\u001B[0m\u001B[1;33m)\u001B[0m \u001B[1;32mas\u001B[0m \u001B[0mwriter\u001B[0m\u001B[1;33m:\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[1;32m----> 2\u001B[1;33m     \u001B[0mi\u001B[0m\u001B[1;33m.\u001B[0m\u001B[0mtext\u001B[0m\u001B[1;33m.\u001B[0m\u001B[0mto_excel\u001B[0m\u001B[1;33m(\u001B[0m\u001B[0mwriter\u001B[0m\u001B[1;33m,\u001B[0m \u001B[0msheet_name\u001B[0m\u001B[1;33m=\u001B[0m\u001B[1;34m'中大南方要闻整理'\u001B[0m\u001B[1;33m)\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[0m\u001B[0;32m      3\u001B[0m \u001B[1;33m\u001B[0m\u001B[0m\n",
      "\u001B[1;31mAttributeError\u001B[0m: 'str' object has no attribute 'to_excel'"
     ]
    }
   ],
   "source": [
    "with pd.ExcelWriter('中大南方要闻整理.xlsx') as writer:\n",
    "    i.text.to_excel(writer, sheet_name='中大南方要闻整理')\n"
   ],
   "metadata": {
    "collapsed": false
   }
  },
  {
   "cell_type": "markdown",
   "source": [
    "## 项目二"
   ],
   "metadata": {
    "collapsed": false
   }
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "outputs": [
    {
     "data": {
      "text/plain": "[<Element 'div' class=('content',)>,\n <Element 'div' class=('content',)>,\n <Element 'div' class=('content',)>,\n <Element 'div' class=('content',)>,\n <Element 'div' class=('content',)>,\n <Element 'div' class=('content',)>,\n <Element 'div' class=('content',)>,\n <Element 'div' class=('content',)>,\n <Element 'div' class=('content',)>,\n <Element 'div' class=('content',)>,\n <Element 'div' class=('content',)>,\n <Element 'div' class=('content',)>,\n <Element 'div' class=('content',)>,\n <Element 'div' class=('content',)>,\n <Element 'div' class=('content',)>,\n <Element 'div' class=('content',)>,\n <Element 'div' class=('content',)>,\n <Element 'div' class=('content',)>]"
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from requests_html import HTMLSession\n",
    "session = HTMLSession()\n",
    "r = session.get('https://news.cnblogs.com/n/recommend')\n",
    "news = r.html.find('div.content')\n",
    "news\n"
   ],
   "metadata": {
    "collapsed": false
   }
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "iPhone 15来了！苹果拿出全球首颗3nm芯片，支持Type-c，顶配13999元\n",
      "“环保”占了发布会不小的篇幅，苹果也推出了历史上首款碳中和产品：Apple Watch Series 9。 文｜邱晓芬 编辑｜苏建勋 尚恩 来源｜智能涌现（ID：AIEmergence） 封面来源｜IC photo 北京时间 9 月 13 日凌晨，2023“科技圈春晚”，苹果秋季发布会如约而至。 这\n",
      "itwriter2 投递  评论(21) 1769 人浏览 苹果 发布于 2023-09-13 08:41\n",
      "{'https://news.cnblogs.com/n/750242#comment', 'https://news.cnblogs.com/n/tag/%E8%8B%B9%E6%9E%9C/', 'https://home.cnblogs.com/u/809917/', 'https://news.cnblogs.com/n/750242/', 'https://news.cnblogs.com/n/topic_3239.htm'}\n",
      "\n",
      "中国互联网第一次“人才通胀”始末\n",
      "文锦缎 中国互联网策源地——中关村一隅。 如果一定要为互联网找一位商业模式教父的话，杨致远必当榜上有名。他所创立的雅虎，为日后互联网波澜壮阔的商业化巨潮提供了最核心的思路——免费用户，流量至上，广告变现。这条法则一直沿用到今日。 不过作为至圣先驱，雅虎没有挺到互联网发展的鼎盛期。很重要的原因是，杨致\n",
      "itwriter 投递  评论(0) 613 人浏览 发布于 2023-09-12 19:40\n",
      "{'https://home.cnblogs.com/u/itwriter/', 'https://news.cnblogs.com/n/750238#comment', 'https://news.cnblogs.com/n/750238/', 'https://news.cnblogs.com/n/topic_132.htm'}\n",
      "\n",
      "老黄给H100打鸡血：英伟达推出大模型加速包，Llama2推理速度翻倍\n",
      "克雷西发自凹非寺 量子位公众号 QbitAI 大模型的推理速度，仅仅一个月就提高了一倍！ 英伟达近日官宣给 H100 推出了“鸡血包”——专用于 LLM 推理的加速程序。 或许这下可以不用空等明年才能交付的 GH200 了（手动狗头）。 GPU 的运算能力一直影响着大模型的表现，无论是硬件提供者还是\n",
      "itwriter 投递  评论(0) 612 人浏览 英伟达 发布于 2023-09-12 08:05\n",
      "{'https://news.cnblogs.com/n/750171#comment', 'https://news.cnblogs.com/n/tag/%E8%8B%B1%E4%BC%9F%E8%BE%BE/', 'https://news.cnblogs.com/n/750171/', 'https://home.cnblogs.com/u/itwriter/', 'https://news.cnblogs.com/n/topic_217.htm'}\n",
      "\n",
      "比Python快6.8万倍，新语言Mojo首次开放下载，LLVM之父打造\n",
      "梦晨发自凹非寺 量子位公众号 QbitAI 什么编程语言，敢号称是高性能版的“Python++”？ 新语言 Mojo，来自 LLVM 之父和 Swift 之父 Chris Lattner，性能可达到目前版本 Python 的 68000 倍。 你没看错，几个月前团队还宣称是 35000 倍，换了台机\n",
      "itwriter 投递  评论(17) 1668 人浏览 Mojo 发布于 2023-09-10 23:10\n",
      "{'https://news.cnblogs.com/n/750092/', 'https://news.cnblogs.com/n/750092#comment', 'https://news.cnblogs.com/n/tag/Mojo/', 'https://home.cnblogs.com/u/itwriter/', 'https://news.cnblogs.com/n/topic_3044.htm'}\n",
      "\n",
      "蔡崇信、吴泳铭正式履新董事长、CEO，张勇荣获“功勋阿里人”\n",
      "新浪科技讯，9 月 10 日晚，阿里巴巴集团董事会主席蔡崇信发布全员信宣布，已在当日按计划完成集团管理职务交接，由他接任集团董事会主席职务，吴泳铭出任集团 CEO。这意味着，阿里巴巴完成了公司管理职务的第二次制度化交接棒，今年 3 月启动的1+6+N自我变革快速顺利推进。 蔡崇信代表阿里集团用“成绩\n",
      "itwriter2 投递  评论(0) 679 人浏览 阿里 张勇 发布于 2023-09-10 22:57\n",
      "{'https://news.cnblogs.com/n/750088#comment', 'https://news.cnblogs.com/n/750088/', 'https://news.cnblogs.com/n/tag/%E9%98%BF%E9%87%8C/', 'https://news.cnblogs.com/n/topic_6.htm', 'https://home.cnblogs.com/u/809917/', 'https://news.cnblogs.com/n/tag/%E5%BC%A0%E5%8B%87/'}\n",
      "\n",
      "中国团队重要突破：首次在猪体内“种”出人类肾脏\n",
      "9 月 7 日，《细胞》子刊登了一项来自中国团队的论文，研究将人-猪嵌合体胚胎移植至母猪体内后，成功培养出肾脏发育中间阶段的组织，而这一组织在 28 天后，顺利形成了肾小管等功能结构，具备了正常的肾脏结构。 而这也是科学家首次实现人源功能性实质器官的异种体内再生——即在哺乳动物体内培养出可供移植的人\n",
      "itwriter 投递  评论(0) 430 人浏览 发布于 2023-09-09 20:03\n",
      "{'https://home.cnblogs.com/u/itwriter/', 'https://news.cnblogs.com/n/750080#comment', 'https://news.cnblogs.com/n/topic_2874.htm', 'https://news.cnblogs.com/n/750080/'}\n",
      "\n",
      "谷歌25岁了：AI能化解中年危机吗？\n",
      "（图注：1998 年的谷歌首页） 这个星期，互联网巨头谷歌年满 25 周岁了。在人类的世界，25 岁还是个朝气蓬勃、求知若渴的青年人；但在互联网的领域，25 岁的谷歌虽然已经成长为网络巨无霸，却面临着明显的中年危机和未来挑战。AI 能化解谷歌的中年危机吗？ 孕育于斯坦福校园 不夸张的说，谷歌是全球互\n",
      "itwriter2 投递  评论(3) 772 人浏览 google 发布于 2023-09-08 08:18\n",
      "{'https://news.cnblogs.com/n/tag/google/', 'https://news.cnblogs.com/n/topic_1.htm', 'https://news.cnblogs.com/n/750000#comment', 'https://home.cnblogs.com/u/809917/', 'https://news.cnblogs.com/n/750000/'}\n",
      "\n",
      "腾讯称混元大模型中文能力超过GPT3.5 我们一起看看\n",
      "9 月 7 日消息，今日，备受期待的腾讯混元大模型正式亮相，并通过腾讯云对外开放。腾讯集团副总裁蒋杰称，腾讯混元大模型中文能力已经超过 GPT3.5。 据了解，腾讯混元大模型是由腾讯全链路自研的通用大语言模型，拥有超千亿参数规模，预训练语料超 2 万亿 tokens。它的能力究竟如何，我们一起来看一\n",
      "itwriter 投递  评论(2) 554 人浏览 腾讯 混元大模型 发布于 2023-09-07 12:27\n",
      "{'https://news.cnblogs.com/n/tag/%E6%B7%B7%E5%85%83%E5%A4%A7%E6%A8%A1%E5%9E%8B/', 'https://news.cnblogs.com/n/tag/%E8%85%BE%E8%AE%AF/', 'https://news.cnblogs.com/n/749958#comment', 'https://news.cnblogs.com/n/topic_7.htm', 'https://home.cnblogs.com/u/itwriter/', 'https://news.cnblogs.com/n/749958/'}\n",
      "\n",
      "有史以来最遥远星系磁场探测到\n",
      "科技日报北京 9 月 6 日电 （记者张佳欣）天文学家使用射电望远镜阿塔卡马大型毫米波/亚毫米波阵列（ALMA）探测到了一个遥远星系的磁场，该星系距离地球 110 多亿光年。这一结果为天文学家提供了关于银河系等星系的磁场是如何形成的重要线索。相关论文发表在新一期《自然》杂志上。 研究人员表示，宇宙中\n",
      "itwriter2 投递  评论(3) 572 人浏览 星系 发布于 2023-09-07 08:12\n",
      "{'https://news.cnblogs.com/n/749924/', 'https://news.cnblogs.com/n/749924#comment', 'https://news.cnblogs.com/n/tag/%E6%98%9F%E7%B3%BB/', 'https://home.cnblogs.com/u/809917/', 'https://news.cnblogs.com/n/topic_1317.htm'}\n",
      "\n",
      "央视：华为新手机，拆解出了什么？拆出了中国高科技企业的里程碑\n",
      "9 月 5 日晚，央视新闻《新闻1+1》播出了名为“华为新手机，拆解出了什么？”的节目，这段二十多分钟的节目里，让全国观众乃至世界观众知道了一款代表中国高科技企业里程碑的产品，也告诉了所有人，拆解华为 Mate60 Pro 拆解出了什么。 在 8 月 29 日华为 Mate60 Pro 开放购买后，\n",
      "itwriter 投递  评论(17) 1673 人浏览 华为 发布于 2023-09-06 14:38\n",
      "{'https://news.cnblogs.com/n/749890#comment', 'https://news.cnblogs.com/n/tag/%E5%8D%8E%E4%B8%BA/', 'https://news.cnblogs.com/n/topic_188.htm', 'https://news.cnblogs.com/n/749890/', 'https://home.cnblogs.com/u/itwriter/'}\n",
      "\n",
      "“大学教师体验送外卖”破圈背后的“是”与“非”\n",
      "这几天，联系山东临沂大学文学院教师邢斌的人很多。 原因是，不久前在临沂东夷书院的一场活动上，他分享了“2022 年冬，我在临沂城送外卖”的经历，引发关注，直接火出了圈。 火出圈后，联系邢斌的人里，有人想知道他当外卖骑手的缘起、经历，也有人关心他提到的外卖骑手的工资、保险、工作强度等问题。这一方面让邢\n",
      "itwriter 投递  评论(4) 559 人浏览 邢斌 发布于 2023-09-06 09:46\n",
      "{'https://news.cnblogs.com/n/749865/', 'https://news.cnblogs.com/n/topic_505.htm', 'https://news.cnblogs.com/n/749865#comment', 'https://news.cnblogs.com/n/tag/%E9%82%A2%E6%96%8C/', 'https://home.cnblogs.com/u/itwriter/'}\n",
      "\n",
      "DIY大佬自制离子推进器火了，近300万网友围观：星际迷航就是这吧\n",
      "丰色发自凹非寺 量子位公众号 QbitAI 让橡胶气球化身“热气球”，匀速飞行： 让泡沫板变身“小快艇”，水上前进： 家人们，DIY 大佬又来整活了—— 让如上两个物件产生动力的可不是什么小玩具，而是离子等离子推进器（ionic plasma thruster）。 是的没错，这个被用于航天领域的高级\n",
      "itwriter 投递  评论(6) 1409 人浏览 发布于 2023-09-05 16:15\n",
      "{'https://news.cnblogs.com/n/749842/', 'https://news.cnblogs.com/n/749842#comment', 'https://home.cnblogs.com/u/itwriter/', 'https://news.cnblogs.com/n/topic_132.htm'}\n",
      "\n",
      "烧假酒，可能是内燃机以后唯一的出路了\n",
      "这段时间，脖子哥真的要被搬家整麻了。 不仅东西又多又难搬，新家还有一股浓郁的甲醛味，熏得我脑壳疼。 正愁怎么除呢，前两天刷新闻的时候迷迷糊糊看见，五菱搞出了一个甲醛发动机，烧甲醛，动力还贼强。 我大喜，这玩意，放我家不就成永动机了么。 结果定睛一看，喜早了，人搞的是甲醇发动机。 虽然看岔了，可要说对\n",
      "itwriter 投递  评论(1) 743 人浏览 五菱 发布于 2023-09-05 14:30\n",
      "{'https://news.cnblogs.com/n/topic_2702.htm', 'https://news.cnblogs.com/n/tag/%E4%BA%94%E8%8F%B1/', 'https://news.cnblogs.com/n/749831#comment', 'https://home.cnblogs.com/u/itwriter/', 'https://news.cnblogs.com/n/749831/'}\n",
      "\n",
      "为什么说加密货币是史上最大的庞氏骗局\n",
      "大多数阴谋论驱动的运动背后的秘密是，他们的信仰核心包含有一丝的真实性。举例来说，反疫苗者将大型制药公司过去的行为作为医疗机构不可信任的证据。加密货币批评者 Ben McKenzie 表示，这一丝的真实性就是来骗你的。他说，加密货币社群做对的一件事是指出现有的金融制度存在严重缺陷。加密货币兴起于 20\n",
      "itwriter 投递  评论(7) 1381 人浏览 发布于 2023-09-04 17:11\n",
      "{'https://news.cnblogs.com/n/topic_424.htm', 'https://news.cnblogs.com/n/749779/', 'https://home.cnblogs.com/u/itwriter/', 'https://news.cnblogs.com/n/749779#comment'}\n",
      "\n",
      "独立游戏调GPT遭Steam下架，开发者：我的存款和三年半时光都没了\n",
      "克雷西发自凹非寺 量子位公众号 QbitAI 辛苦做了 3 年半的游戏，只因用了 ChatGPT 就被 Steam 给下架了？！这则控诉帖在 Reddit 一经发出即爆火，围观热度达到 2.5k。 帖主 Shasaur（我们姑且叫他S叔）介绍，他和 Steam 进行了长时间拉锯，但最终游戏还是被下架\n",
      "itwriter 投递  评论(4) 1565 人浏览 Shasaur 发布于 2023-09-04 12:35\n",
      "{'https://news.cnblogs.com/n/749740/', 'https://news.cnblogs.com/n/topic_335.htm', 'https://news.cnblogs.com/n/tag/Shasaur/', 'https://news.cnblogs.com/n/749740#comment', 'https://home.cnblogs.com/u/itwriter/'}\n",
      "\n",
      "AI“调香师”预测气味媲美人类\n",
      "为了帮助测试新的人工智能“鼻子”，德雷克塞尔大学的乔纳森·多伊奇花了几个小时嗅探和描述未知化学物质的气味。图片来源：《科学》杂志 科技日报北京 9 月 3 日电 （记者张佳欣）据《科学》杂志 1 日报道，英美科学家新设计的机器学习模型已达到与人类嗅觉水平相媲美的程度，能用语言描述化学物质的气味。研究\n",
      "itwriter2 投递  评论(0) 261 人浏览 AI 发布于 2023-09-04 09:55\n",
      "{'https://news.cnblogs.com/n/tag/AI/', 'https://news.cnblogs.com/n/749717#comment', 'https://news.cnblogs.com/n/topic_1268.htm', 'https://home.cnblogs.com/u/809917/', 'https://news.cnblogs.com/n/749717/'}\n",
      "\n",
      "山东一大学教授送外卖，写出来一篇外卖小哥调研文章\n",
      "山东一大学教授送外卖，写出来一篇外卖小哥调研文章，太让人感动了，怪不得全网三千万浏览量，5 万评论。 卢克文看过来，这叫调研。旅游不是调研，开车压马路不是调研。 不知道为什么，这个教授写的文字没有任何煽情都是很客观的记叙，我却差点掉下泪来。 他有自己的本职工作，他是个教授，一个受人尊敬的职业，他去勤\n",
      "itwriter 投递  评论(28) 1663 人浏览 美团 邢斌 发布于 2023-09-01 18:00\n",
      "{'https://news.cnblogs.com/n/topic_313.htm', 'https://news.cnblogs.com/n/tag/%E9%82%A2%E6%96%8C/', 'https://news.cnblogs.com/n/749676/', 'https://news.cnblogs.com/n/tag/%E7%BE%8E%E5%9B%A2/', 'https://home.cnblogs.com/u/itwriter/', 'https://news.cnblogs.com/n/749676#comment'}\n",
      "\n",
      "AI无人机竞速击败人类冠军，Nature：将AlphaGo成果带到物理世界\n",
      "梦晨发自凹非寺 量子位公众号 QbitAI AI 再一次击败人类世界冠军，登上 Nature 封面。 与上一次 AlphaGo 下围棋不同，这次不是脑力运动，而是在真实物理环境中的竞技体育项目——“空中 F1”无人机竞速。 与 AlphaGo 也有相同之处，核心技术都是深度强化学习。 成果来自苏黎世\n",
      "itwriter 投递  评论(0) 420 人浏览 AI 发布于 2023-09-01 08:19\n",
      "{'https://news.cnblogs.com/n/tag/AI/', 'https://news.cnblogs.com/n/749606#comment', 'https://news.cnblogs.com/n/topic_1268.htm', 'https://home.cnblogs.com/u/itwriter/', 'https://news.cnblogs.com/n/749606/'}\n",
      "\n"
     ]
    }
   ],
   "source": [
    "for i in news:\n",
    "    print(i.text)\n",
    "    print(i.absolute_links)\n",
    "    print()"
   ],
   "metadata": {
    "collapsed": false
   }
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "outputs": [],
   "source": [
    "r = session.get(\"https://wallhaven.cc\")"
   ],
   "metadata": {
    "collapsed": false
   }
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "outputs": [
    {
     "data": {
      "text/plain": "<Response [200]>"
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "r"
   ],
   "metadata": {
    "collapsed": false
   }
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "outputs": [],
   "source": [
    "import requests"
   ],
   "metadata": {
    "collapsed": false
   }
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "outputs": [
    {
     "data": {
      "text/plain": "[<Element 'img' src='https://th.wallhaven.cc/small/x6/x6p3y3.jpg' width='300px' alt=''>,\n <Element 'img' src='https://th.wallhaven.cc/small/zy/zy5y1o.jpg' width='300px' alt=''>,\n <Element 'img' src='https://th.wallhaven.cc/small/x6/x6pl9v.jpg' width='300px' alt=''>,\n <Element 'img' src='https://th.wallhaven.cc/small/we/we628p.jpg' width='300px' alt=''>,\n <Element 'img' src='https://th.wallhaven.cc/small/ex/ex9gwo.jpg' width='300px' alt=''>,\n <Element 'img' src='https://th.wallhaven.cc/small/1p/1pd1o9.jpg' width='300px' alt=''>,\n <Element 'img' src='https://th.wallhaven.cc/small/m3/m3zjx1.jpg' width='300px' alt=''>,\n <Element 'img' src='https://th.wallhaven.cc/small/1p/1ppld1.jpg' width='300px' alt=''>,\n <Element 'img' src='https://th.wallhaven.cc/small/yx/yxqzpd.jpg' width='300px' alt=''>,\n <Element 'img' src='https://th.wallhaven.cc/small/kx/kx82d6.jpg' width='300px' alt=''>,\n <Element 'img' src='https://th.wallhaven.cc/small/l8/l83o92.jpg' width='300px' alt=''>,\n <Element 'img' src='https://th.wallhaven.cc/small/1p/1p398w.jpg' width='300px' alt=''>,\n <Element 'img' src='https://th.wallhaven.cc/small/7p/7p39gy.jpg' width='300px' alt=''>,\n <Element 'img' src='https://th.wallhaven.cc/small/qz/qzdqvr.jpg' width='300px' alt=''>,\n <Element 'img' src='https://th.wallhaven.cc/small/zy/zyxvqy.jpg' width='300px' alt=''>,\n <Element 'img' src='https://th.wallhaven.cc/small/kx/kx98xd.jpg' width='300px' alt=''>,\n <Element 'img' src='https://th.wallhaven.cc/small/zy/zygeko.jpg' width='300px' alt=''>,\n <Element 'img' src='https://th.wallhaven.cc/small/kx/kx36mq.jpg' width='300px' alt=''>,\n <Element 'img' src='https://th.wallhaven.cc/small/m9/m9xyg8.jpg' width='300px' alt=''>,\n <Element 'img' src='https://th.wallhaven.cc/small/o5/o59gvl.jpg' width='300px' alt=''>,\n <Element 'img' src='https://th.wallhaven.cc/small/28/28p95m.jpg' width='300px' alt=''>,\n <Element 'img' src='https://th.wallhaven.cc/small/e7/e7jj6r.jpg' width='300px' alt=''>,\n <Element 'img' src='https://th.wallhaven.cc/small/9m/9mjoy1.jpg' width='300px' alt=''>,\n <Element 'img' src='https://th.wallhaven.cc/small/j3/j3m8y5.jpg' width='300px' alt=''>]"
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "items_img = r.html.find('span.sm-thumb > a > img')\n",
    "items_img"
   ],
   "metadata": {
    "collapsed": false
   }
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "https://th.wallhaven.cc/small/x6/x6p3y3.jpg\n",
      "x6p3y3.jpg\n",
      "https://th.wallhaven.cc/small/zy/zy5y1o.jpg\n",
      "zy5y1o.jpg\n",
      "https://th.wallhaven.cc/small/x6/x6pl9v.jpg\n",
      "x6pl9v.jpg\n",
      "https://th.wallhaven.cc/small/we/we628p.jpg\n",
      "we628p.jpg\n",
      "https://th.wallhaven.cc/small/ex/ex9gwo.jpg\n",
      "ex9gwo.jpg\n",
      "https://th.wallhaven.cc/small/1p/1pd1o9.jpg\n",
      "1pd1o9.jpg\n",
      "https://th.wallhaven.cc/small/m3/m3zjx1.jpg\n",
      "m3zjx1.jpg\n",
      "https://th.wallhaven.cc/small/1p/1ppld1.jpg\n",
      "1ppld1.jpg\n",
      "https://th.wallhaven.cc/small/yx/yxqzpd.jpg\n",
      "yxqzpd.jpg\n",
      "https://th.wallhaven.cc/small/kx/kx82d6.jpg\n",
      "kx82d6.jpg\n",
      "https://th.wallhaven.cc/small/l8/l83o92.jpg\n",
      "l83o92.jpg\n",
      "https://th.wallhaven.cc/small/1p/1p398w.jpg\n",
      "1p398w.jpg\n",
      "https://th.wallhaven.cc/small/7p/7p39gy.jpg\n",
      "7p39gy.jpg\n",
      "https://th.wallhaven.cc/small/qz/qzdqvr.jpg\n",
      "qzdqvr.jpg\n",
      "https://th.wallhaven.cc/small/zy/zyxvqy.jpg\n",
      "zyxvqy.jpg\n",
      "https://th.wallhaven.cc/small/kx/kx98xd.jpg\n",
      "kx98xd.jpg\n",
      "https://th.wallhaven.cc/small/zy/zygeko.jpg\n",
      "zygeko.jpg\n",
      "https://th.wallhaven.cc/small/kx/kx36mq.jpg\n",
      "kx36mq.jpg\n",
      "https://th.wallhaven.cc/small/m9/m9xyg8.jpg\n",
      "m9xyg8.jpg\n",
      "https://th.wallhaven.cc/small/o5/o59gvl.jpg\n",
      "o59gvl.jpg\n",
      "https://th.wallhaven.cc/small/28/28p95m.jpg\n",
      "28p95m.jpg\n",
      "https://th.wallhaven.cc/small/e7/e7jj6r.jpg\n",
      "e7jj6r.jpg\n",
      "https://th.wallhaven.cc/small/9m/9mjoy1.jpg\n",
      "9mjoy1.jpg\n",
      "https://th.wallhaven.cc/small/j3/j3m8y5.jpg\n",
      "j3m8y5.jpg\n"
     ]
    }
   ],
   "source": [
    "for img in items_img:\n",
    "    img_url = img.attrs['src'] #图片下载链接\n",
    "    print(img_url)\n",
    "\n",
    "    print(img_url.split('/')[-1])\n",
    "\n",
    "    img_name = img_url.split('/')[-1] #图片存储名称\n",
    "\n",
    "    img_response = requests.get(img_url) #请求下载地址，获取图片\n",
    "\n",
    "    with open ('imgs/'+img_name,'wb') as file:  #下载图片用写入的方式，指定存放的文件路径\n",
    "        file.write(img_response.content)"
   ],
   "metadata": {
    "collapsed": false
   }
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "outputs": [],
   "source": [],
   "metadata": {
    "collapsed": false
   }
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 0
}
